今天開始連三天會從Controller開始依序介紹
Controller, 又稱為「控制器」,從名字來看不難猜出就是用來控制流程用的,他的工作主要是負責接收從外部 (使用者介面) 傳來的訊息並作出回應與指派工作。
還記得上一篇文章所介紹的MVC流程嗎?當瀏覽器發送了一個請求(Request)進來之後,路由(router)會決定是由哪個 Controller 來工作後便把工作指派給該Controller,而收到請求的Controller 則會負責處理並給予回應
例如Controller先請Model去調度資料,而Model收到指令並完成後會再把該資料回傳給Controller,而Controller再藉由 View 來產生樣板(template),最後將所呈現的 HTML 頁面回傳給客戶端。
我們可以把 Controller 想做是 MVC 架構的中間人,它決定了應用程式的工作流程 (workflow),並且蒐集不同元件的工作結果來統一回傳給使用者
ApplicationController
在rails 的應用程序中,所有透過rails g controller指令產生出來的 controller都會繼承自ApplicationController 。而我們可以透過物件導向的原理在這裡定義一些共用的方法,不僅可以減少多餘的程式碼也更易於管理。
偷吃步的將應該統一的文章又個別分成了三篇(作弊阿 !),明天繼續換成View